package utils

import (
	"flag"
	"log"
)

/*
 +----------------------------------------------------------------------
 + Title        : 初始化项目
 + Author       : huwl
 + Version      : 1.0.0
 + Initial-Time : 2020-01-06
 + Last-time    : 这个文件最后修改的时间 + 修改人的名称
 + Desc         : 初始化项目
 +----------------------------------------------------------------------
*/

// 运行环境
var Env string

// 配置中心
var ConfigCenter string

// 配置中心 mysql 名称
var MySqlConfigCenter string

// 配置中心 redis 名称
var RedisConfigCenter string

// 配置中心 minio 名称
var MinioConfigCenter string

// 配置中心 mongo 名称
var MongoConfigCenter string

// 配置中心 es 名称
var EsConfigCenter string

// 配置中心 oss 名称
var OssConfigCenter string

// 配置中心 rabbit 名称
var RabbitConfigCenter string

func init() {
	// 设置日志标志：添加 Llongfile 或 Lshortfile
	log.SetFlags(log.LstdFlags | log.Llongfile) // 完整路径
	// 或者
	// log.SetFlags(log.LstdFlags | log.Lshortfile) // 短路径

	appConfig, err := GetConfig("app", "yml")
	if err != nil {
		log.Fatalln("读取app配置错误：", err.Error())
	}

	// 运行环境
	flag.StringVar(&Env, "env", "dev", "运行环境")
	flag.Parse()

	// 配置中心
	ConfigCenter = appConfig.GetString(Env + ".config_center")

	// 配置中心 mysql 名称
	MySqlConfigCenter = appConfig.GetString("mysql_config_center")

	// 配置中心 redis 名称
	RedisConfigCenter = appConfig.GetString("redis_config_center")

	// 配置中心 minio 名称
	MinioConfigCenter = appConfig.GetString("minio_config_center")

	// 配置中心 mongo 名称
	MongoConfigCenter = appConfig.GetString("mongo_config_center")

	// 配置中心 es 名称
	EsConfigCenter = appConfig.GetString("es_config_center")

	// 配置中心 es 名称
	OssConfigCenter = appConfig.GetString("oss_config_center")

	// 配置中心 rabbit 名称
	RabbitConfigCenter = appConfig.GetString("rabbit_config_center")
}
